home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / pascal / swag / comm.swg / 0015_DOOR Info & File Maker.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-05-28  |  2.4 KB  |  98 lines

  1. {
  2. REYNIR STEFANSSON
  3.  
  4. Some time ago I looked at the Waffle BBS v1.63. I wrote this proglet
  5. to create a DOORINFO File For certain aftermarket utilities. Here you are:
  6. }
  7.  
  8. Program DIMaker; {Writes DOORINFO.DEF/DORINFOn.DEF For Waffle BBS. }
  9.  
  10. Var
  11.   tf          : Text;
  12.   Graphic     : Integer;
  13.   Port        : Char;
  14.   SysName,
  15.   SysOpFirst,
  16.   SysOpLast,
  17.   Baud,
  18.   Terminal,
  19.   First,
  20.   Last,
  21.   CallLoc,
  22.   TimeLeft,
  23.   SecLev,
  24.   FossilOn,
  25.   SysDir,
  26.   FileName    : String;
  27.  
  28. { Command line For Waffle: }
  29.  
  30. { dimaker ~%b ~%t ~%O ~%a ~%F ~%A@~%n ~%L -1 [-|n] }
  31.  
  32. Procedure WriteDorInfo;
  33. begin
  34.   Assign(tf, SysDir+FileName+'.DEF');
  35.   ReWrite(tf);
  36.   WriteLn(tf, SysName);                { BBS name }
  37.   WriteLn(tf, SysOpFirst);             { SysOp's first name }
  38.   WriteLn(tf, SysOpLast);              { SysOp's last name }
  39.   WriteLn(tf, 'COM', Port);            { COMport in use }
  40.   WriteLn(tf, Baud, ' BAUD,8,N,1');    { Speed and Char format }
  41.   WriteLn(tf, '0');                    { ? }
  42.   WriteLn(tf, First);                  { User's first name }
  43.   WriteLn(tf, Last);                   { User's last name }
  44.   WriteLn(tf, CallLoc);                { User's location }
  45.   WriteLn(tf, Graphic);                { 1 if ANSI, 0 if not. }
  46.   WriteLn(tf, SecLev);                 { Security level }
  47.   WriteLn(tf, TimeLeft);               { Time Until kick-out }
  48.   WriteLn(tf, FossilOn);               { -1 if using FOSSIL, 0 if not }
  49.   Close(tf);
  50. end;
  51.  
  52. { Don't let my reusing of Variables disturb you. }
  53. Procedure GatherInfo;
  54. begin
  55.   FileName[1] := '-';
  56.   SysName := ParamStr(0);
  57.   Graphic := Length(SysName);
  58.   Repeat
  59.     Dec(Graphic)
  60.   Until SysName[Graphic]='\';
  61.   SysDir := Copy(SysName, 1, Graphic);
  62.   Assign(tf, Copy(SysName, 1, Length(SysName)-4)+'.CFG');
  63.   Reset(tf);
  64.   ReadLn(tf, SysName);
  65.   ReadLn(tf, SysOpFirst);
  66.   ReadLn(tf, SysOpLast);
  67.   Close(tf);
  68.   Baud     := ParamStr(1);
  69.   Terminal := ParamStr(2);
  70.   TimeLeft := ParamStr(3);
  71.   SecLev   := ParamStr(4);
  72.   First    := ParamStr(5);
  73.   Last     := ParamStr(6);
  74.   CallLoc  := ParamStr(7);
  75.   FossilOn := ParamStr(8);
  76.   FileName := ParamStr(9);
  77.   Port := FileName[1];
  78.   if Port = '-' then
  79.     FileName := 'DOORINFO'
  80.   else
  81.     FileName := 'DORINFO'+Port;
  82.   if Terminal='vt100' then
  83.     Graphic := 1
  84.   else
  85.     Graphic := 0;
  86.   Port := '2';
  87.   if Baud='LOCAL' then
  88.   begin
  89.     Baud := '0';
  90.     Port := '0';
  91.   end;
  92. end;
  93.  
  94. begin;
  95.   GatherInfo;
  96.   WriteDorInfo;
  97. end.
  98.